package vn.edu.nuce.service;

import java.util.Date;
import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import vn.edu.nuce.dao.LichDangKyDao;
import vn.edu.nuce.model.LichDangKy;
import vn.edu.nuce.model.LichDangKyStatus;
import vn.edu.nuce.model.ThongKe;
@Transactional(readOnly=true)
public class LichDangKyServiceImpl implements LichDangKyService{

	LichDangKyDao lichDangKyDao;
	
	public LichDangKyDao getLichDangKyDao() {
		return lichDangKyDao;
	}

	public void setLichDangKyDao(LichDangKyDao lichDangKyDao) {
		this.lichDangKyDao = lichDangKyDao;
	}

	@Transactional(readOnly=false)
	public void addLichDangKy(LichDangKy lichDangKy) {
		getLichDangKyDao().addLichDangKy(lichDangKy);		
	}

	@Transactional(readOnly=false)
	public void updateLichDangKy(LichDangKy lichDangKy) {
		getLichDangKyDao().updateLichDangKy(lichDangKy);
	}

	@Transactional(readOnly=false)
	public void deleteLichDangKy(String id) {
		getLichDangKyDao().deleteLichDangKy(id);
		
	}
	public LichDangKy getLichDangKyById(String id) {
		return getLichDangKyDao().getLichDangKyById(id);
		
	}
	public List<LichDangKy> getLichDangKy() {
		return getLichDangKyDao().getLichDangKy();
	}

	public List<LichDangKy> getLichDangKyByDate(Date date) {
		return getLichDangKyDao().getLichDangKyByDate(date);
	}

	public List<LichDangKy> getDsCho(String idPhongMay, String idTietHoc,
			Date date) {
		return getLichDangKyDao().getDsCho(idPhongMay, idTietHoc, date);
	}

	public List<LichDangKyStatus> getLichDangKyStatusByDate(Date date) {
		return getLichDangKyDao().getLichDangKyStatusByDate(date);
	}

	public List<LichDangKy> hienThiDangKyTrungTheoNgay(Date date) {
		return getLichDangKyDao().hienThiDangKyTrungTheoNgay(date);
	}
	
	public List<LichDangKy> hienThiDangKyTrungTheoTuan(Date fromDate,Date toDate){
		return getLichDangKyDao().hienThiDangKyTrungTheoTuan(fromDate,toDate);
	}

	public List<LichDangKy> getLichDangKyByDateAndUser(Date date, String userId,String status) {
		return getLichDangKyDao().getLichDangKyByDateAndUser(date, userId,status);
	}

	public List<LichDangKy> getLichDangKyBy2DateAndChuaHuy(Date fromDate,Date toDate) {
		return getLichDangKyDao().getLichDangKyBy2DateAndChuaHuy(fromDate,toDate);
	}
	
	public List<LichDangKy> getLichDangKyByDateAndChuaHuy(Date date){
		return getLichDangKyDao().getLichDangKyByDateAndChuaHuy(date);
	}

	public List<LichDangKy> getLichDangKyBy2DateAndUser(Date fromDate,
			Date toDate, String userId,String status) {
		return getLichDangKyDao().getLichDangKyBy2DateAndUser(fromDate,toDate,userId,status);
	}

	public List<LichDangKy> getLichDangKyTheoMonHocAndUser(String strMonHoc,String userId,String status) {
		return getLichDangKyDao().getLichDangKyTheoMonHocAndUser(strMonHoc,userId,status);
	}

	public List<LichDangKy> thongKe(ThongKe thongKe) {
		return getLichDangKyDao().thongKe(thongKe);
	}


}
